* extensions/gegl-fixups.c (conv_rgbAF_sdl32)
* babl/base/model-gray.c (premultiplied_to_non_premultiplied):
Make un-pre-multiplication with close-to-zero alpha values result
in complete black instead of a bit brigher than black.
svn path=/trunk/; revision=355
+2008-11-16 Martin Nordholts <martinn@svn.gnome.org>
+
+ * extensions/gegl-fixups.c (conv_rgbAF_sdl32)
+ * babl/base/model-gray.c (premultiplied_to_non_premultiplied):
+ Make un-pre-multiplication with close-to-zero alpha values result
+ in complete black instead of a bit brigher than black.
+
2008-11-08 Øyvind Kolås <pippin@gimp.org>
* extensions/gegl-fixups.c: (conv_rgbAF_lrgba8): use the lookup tables
}
else
{
- *(double *) dst[band] = 0.001;
+ *(double *) dst[band] = 0.0;
}
}
*(double *) dst[dst_bands - 1] = alpha;
{
int i;
float alpha = src[3];
- if (alpha < 0.0001)
- alpha = 0.0001;
for (i = 0; i < 3; i++)
{
float ca = src[i];
- float c;
int ret;
- c = ca / alpha;
- if (alpha == 0.0)
+ if (alpha < 0.0001)
ret = 0;
else
- ret = table_F_8g[gggl_float_to_index16 (c)];
+ ret = table_F_8g[gggl_float_to_index16 (ca / alpha)];
if (ret <= 0)
dst[i] = 0;
else if (ret > 255)